package br.com.pfc.application.controller.equipamentos;

import br.com.pfc.application.controller.BaseController;
import br.com.pfc.application.dao.EquipamentoDAO;
import br.com.pfc.application.service.equipamentos.EquipamentoService;
import br.com.pfc.model.Equipamento;
import br.com.pfc.model.Local;
import java.util.List;
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Begin;
import org.jboss.seam.annotations.End;
import org.jboss.seam.annotations.FlushModeType;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;

/**
 *
 * @author Vanda
 */
@Scope(ScopeType.CONVERSATION)
@Name("equipamentoAlterarAction")
public class EquipamentoAlteraController extends BaseController {

    private Equipamento equipamento = new Equipamento();
    List<Local> listaLocais;
    private Integer localSelecionado;
    @In
    EquipamentoDAO equipamentoDAO;
    @In
    EquipamentoService equipamentoService;

    @Begin(flushMode = FlushModeType.MANUAL, nested = true)
    public String setup(Integer idEquipamento) {
        equipamento = equipamentoDAO.obterPorId(idEquipamento);
        listaLocais = equipamentoService.obterLocais();
        localSelecionado = null;
        return "altera_equipamento";
    }

    @End
    public String alterar() {
        try {
            equipamentoDAO.alterar(equipamento);
            adicionarMensagemInformacao("Equipamento alterado com sucesso!");
            return "equipamentos";
        } catch (Exception e) {
            adicionarMensagemErro("Não foi possível alterar equipamento. " + e);
            return "equipamentos";
        }
    }

    public Equipamento getEquipamento() {
        return equipamento;
    }

    public void setEquipamento(Equipamento equipamento) {
        this.equipamento = equipamento;
    }

    public List<Local> getListaLocais() {
        return listaLocais;
    }

    public void setListaLocais(List<Local> listaLocais) {
        this.listaLocais = listaLocais;
    }

    public Integer getLocalSelecionado() {
        return localSelecionado;
    }

    public void setLocalSelecionado(Integer localSelecionado) {
        this.localSelecionado = localSelecionado;
    }
    
}
